package com.foreveredu.furedusys.service;

import java.util.List;

import org.springframework.security.core.userdetails.UserDetailsService;

import com.foreveredu.furedusys.domain.User;
import com.foreveredu.furedusys.domain.Role;

/**
 * 提供用户、角色管理等系统基本服务
 * 
 * @author hushigang
 * 
 */
public interface ISystemService extends UserDetailsService {

	/*
	 * User对象的事务处理
	 */
	int saveUser(User user);

	void deleteUserById(int id);

	void updateUser(User user);

	List<User> findUsers();

	User findUserById(int id);

	User findUserByUsername(String username);

	List<User> findUsersByRoleName(String roleName);

	/*
	 * Role对象的事务处理
	 */
	int saveRole(Role role);

	void deleteRoleById(int id);

	void updateRole(Role role);

	List<Role> findRoles();

	Role findRoleById(int id);

	Role findRoleByName(String name);

}
